package com.hjq.permissions;

/**
 * 权限常量
 */
public final class Permission {
    private Permission() {}

    /**
     * 受限开放的权限
     */
    public static final String LIMITED_OS_READ_MESSAGES = "ohos.permission.READ_MESSAGES";

    /**
     * 允许应用接收彩信。
     */
    public static final String LIMITED_OS_RECEIVE_MMS = "ohos.permission.RECEIVE_MMS";

    /**
     * 允许应用接收短信息。
     */
    public static final String LIMITED_OS_RECEIVE_SMS = "ohos.permission.RECEIVE_SMS";

    /**
     * 允许应用接收WAP消息
     */
    public static final String LIMITED_OS_RECEIVE_WAP_MESSAGES = "ohos.permission.RECEIVE_WAP_MESSAGES";

    /**
     * 允许应用发送短信
     */
    public static final String LIMITED_OS_SEND_MESSAGES = "ohos.permission.SEND_MESSAGES";

    /**
     * 允许应用读取小区广播消息
     */
    public static final String LIMITED_OS_READ_CELL_MESSAGES = "ohos.permission.READ_CELL_MESSAGES";

    /**
     * 允许应用读取通话记录
     */
    public static final String LIMITED_OS_READ_CALL_LOG = "ohos.permission.READ_CALL_LOG";

    /**
     * 允许应用在设备上添加、修改和删除通话记录
     */
    public static final String LIMITED_OS_WRITE_CALL_LOG = "ohos.permission.WRITE_CALL_LOG";

    /**
     * 允许应用读取联系人数据
     */
    public static final String LIMITED_OS_READ_CONTACTS = "ohos.permission.READ_CONTACTS";

    /**
     * 允许应用添加、移除和更改联系人数据
     */
    public static final String LIMITED_OS_WRITE_CONTACTS = "ohos.permission.WRITE_CONTACTS";

    /**
     * 允许应用接听来电
     */
    public static final String LIMITED_OS_ANSWER_CALL = "ohos.permission.ANSWER_CALL";

    /**
     * 获取精确位置
     */
    public static final String LOCATION = "ohos.permission.LOCATION";

    /**
     * 在后台获取位置
     */
    public static final String LOCATION_IN_BACKGROUND = "ohos.permission.LOCATION_IN_BACKGROUND";

    /**
     * 读取日历
     */
    public static final String READ_CALENDAR = "ohos.permission.READ_CALENDAR";

    /**
     * 修改日历
     */
    public static final String WRITE_CALENDAR = "ohos.permission.WRITE_CALENDAR";

    /**
     * 允许应用访问用户媒体文件中的地理位置信息
     */
    public static final String MEDIA_LOCATION = "ohos.permission.MEDIA_LOCATION";

    /**
     * 允许应用读取用户外部存储中的媒体文件信息。
     */
    public static final String MEDIA_READ_MEDIA = "ohos.permission.READ_MEDIA";

    /**
     * 允许应用读写用户外部存储中的媒体文件信息
     */
    public static final String MEDIA_WRITE_MEDIA = "ohos.permission.WRITE_MEDIA";

    /**
     * 录音权限
     */
    public static final String RECORD_AUDIO = "ohos.permission.MICROPHONE";

    /**
     * 允许应用读取用户当前的运动状态
     */
    public static final String ACTIVITY_MOTION = "ohos.permission.ACTIVITY_MOTION";

    /**
     * 允许应用读取用户当前的健康数据
     */
    public static final String READ_HEALTH_DATA = "ohos.permission.READ_HEALTH_DATA";

    /**
     * 相机权限
     */
    public static final String CAMERA = "ohos.permission.CAMERA";

    /**
     * 读取文件权限
     */
    public static final String READ_USER_STORAGE = "ohos.permission.READ_USER_STORAGE";

    /**
     * 写入文件权限
     */
    public static final String WRITE_USER_STORAGE = "ohos.permission.WRITE_USER_STORAGE";

    /**
     * 权限组
     */
    public static final class Group {
        /**
         * 存储权限
         */
        public static final String[] USER_STORAGE =
                new String[] {Permission.READ_USER_STORAGE, Permission.WRITE_USER_STORAGE};

        /**
         * 位置权限
         */
        public static final String[] LOCATION = new String[] {Permission.LOCATION, Permission.LOCATION_IN_BACKGROUND};

        /**
         * 日历权限
         */
        public static final String[] CALENDAR = new String[] {Permission.READ_CALENDAR, Permission.WRITE_CALENDAR};

        /**
         * 媒体权限
         */
        public static final String[] MEDIA =
                new String[] {Permission.MEDIA_LOCATION, Permission.MEDIA_READ_MEDIA, Permission.MEDIA_WRITE_MEDIA};

        /**
         * 联系人权限
         */
        public static final String[] CONTACTS =
                new String[] {Permission.LIMITED_OS_READ_CONTACTS, Permission.LIMITED_OS_WRITE_CONTACTS};

        /**
         * 通话记录
         */
        public static final String[] CALL_RECORD =
                new String[] {Permission.LIMITED_OS_READ_CALL_LOG, Permission.LIMITED_OS_WRITE_CALL_LOG};

        /**
         * 信息
         */
        public static final String[] SMS_GROUP =
                new String[] {
                    Permission.LIMITED_OS_READ_MESSAGES,
                    Permission.LIMITED_OS_RECEIVE_MMS,
                    Permission.LIMITED_OS_RECEIVE_SMS,
                    Permission.LIMITED_OS_RECEIVE_WAP_MESSAGES,
                    Permission.LIMITED_OS_SEND_MESSAGES,
                    Permission.LIMITED_OS_READ_CELL_MESSAGES
                };
    }
}
